// FileUriHandler.kt
package com.sanji.audio_test

import android.app.Activity
import android.content.Intent
import android.net.Uri
import android.provider.DocumentsContract
import android.provider.MediaStore
import android.database.Cursor
import android.widget.Toast
import java.io.InputStream

/**
 * 文件URI处理工具类
 * 提供对URI的处理功能，包括选择文件和处理URI
 */
class FileUriHandler {
    companion object {
        const val REQUEST_CODE_SELECT_FILE = 1001
        
        /**
         * 选择文件并获取URI
         * @param activity 调用的Activity
         */
        private fun getFileUri(activity: Activity) {
            val intent = Intent(Intent.ACTION_GET_CONTENT)
            intent.type = "*/*"  // 可以选择所有类型的文件
            intent.addCategory(Intent.CATEGORY_OPENABLE)
            activity.startActivityForResult(
                Intent.createChooser(intent, "选择文件"),
                REQUEST_CODE_SELECT_FILE
            )
        }

        fun handleOpeningStatement(activity: Activity){
            getFileUri(activity)
            Toast.makeText(activity, "选择开场白文件...", Toast.LENGTH_SHORT).show()
        }
        
        /**
         * 从ActivityResult中解析文件URI
         * @param requestCode 请求码
         * @param resultCode 结果码
         * @param data 返回数据
         * @return 文件URI，如果无效则返回null
         */
        fun handleFileResult(requestCode: Int, resultCode: Int, data: Intent?): Uri? {
            if (requestCode != REQUEST_CODE_SELECT_FILE || resultCode != Activity.RESULT_OK) {
                return null
            }
            
            return data?.data
        }
    }
}